package com.hsnn.medstgmini.base.std.service.impl;

import java.util.List;
import java.util.Map;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.base.std.dao.CompDrugProfileDao;
import com.hsnn.medstgmini.base.std.model.StdCompprofile;
import com.hsnn.medstgmini.base.std.model.form.CompDrugProfileForm;
import com.hsnn.medstgmini.base.std.service.CompDrugProfileManager;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 企业产品资质管理
 * @author 蔡春龙
 * @date 2015年9月14日
 */
@Service
public class CompDrugProfileManagerImpl implements CompDrugProfileManager {

	@Autowired
	private CompDrugProfileDao compDrugProfileDao;

	/**
	 * @category 查看企业产品资质列表
	 * @date 2015年9月14日
	 * @param page
	 * @return
	 */
	public Pagination getCompProfileList(Pagination page) {
		return compDrugProfileDao.getCompProfileList(page);
	}

	/**
	 * @category 根据id查询药品id
	 * @date 2015年9月14日
	 * @param drugId
	 * @return
	 */
	public Map<String, Object> getDrugInfoById(String prodId) {
		return compDrugProfileDao.getDrugInfoById(prodId);
	}

	/**
	 * @category 查询药品资质类型列表
	 * @date 2015年9月15日
	 * @return
	 */
	public List<Map<String, String>> getDrugProfileTypeList() {
		return compDrugProfileDao.getDrugProfileTypeList();
	}

	/**
	 * @category 保存药品资质
	 * @date 2015年9月15日
	 * @param form
	 */
	@Transactional
	public void saveSelfDrugProfile(CompDrugProfileForm form) {
		compDrugProfileDao.saveSelfDrugProfile(form);
	}

	/**
	 * @category 提交药品资质
	 * @date 2015年9月15日
	 * @param form
	 */
	@Transactional
	public void submitCompProfile(CompDrugProfileForm form) {
		compDrugProfileDao.submitCompProfile(form);
	}

	/**
	 * @category 变更启用停用状态
	 * @date 2015年9月15日
	 * @param form
	 */
	@Transactional
	public void changeStatus(CompDrugProfileForm form) {
		compDrugProfileDao.changeStatus(form);
	}
	
	/**
	 * @category 查询有资质需要审核的药品列表
	 * @date 2015年9月15日
	 * @param page
	 * @return
	 */
	public Pagination getAuditCompDrugList(Pagination page) {
		return compDrugProfileDao.getAuditCompDrugList(page);
	}
	
	/**
	 * @category 审核药品资质
	 * @date 2015年9月9日
	 * @param compProfile
	 * @param user
	 */
	@Transactional
	public void auditCompProfile(StdCompprofile compProfile, SysUser user) {
		compDrugProfileDao.auditCompProfile(compProfile, user);
	}
	
}
